package com.xmz.tools;

import android.graphics.Bitmap;
import android.widget.ImageView;

import com.nostra13.universalimageloader.core.DisplayImageOptions;
import com.nostra13.universalimageloader.core.ImageLoader;
import com.nostra13.universalimageloader.core.assist.ImageScaleType;
import com.nostra13.universalimageloader.core.display.CircleBitmapDisplayer;
import com.nostra13.universalimageloader.core.display.SimpleBitmapDisplayer;

/**
 * Created by zengxianming on 2017/10/26.
 * version 1.0
 */

public class ImageLoadUtil {

    /**
     * 调用该方法下载图片
     * 配置imageLoader图片选项
     *
     * @param iv          显示图片控件
     * @param url         网络或本地图片地址
     * @param defaultPic  默认图片
     * @param isRound     true为圆形，false不处理
     * @param cacheOnDisk true缓存到SD卡，false不缓存到SD卡
     */
    public static void displayImages(ImageView iv, String url, int defaultPic, boolean isRound, boolean cacheOnDisk) {
        //配置一些图片选项
        DisplayImageOptions options = new DisplayImageOptions.Builder()
                .showImageOnLoading(defaultPic)// 设置图片在下载期间显示的图片
                .showImageForEmptyUri(defaultPic)// 设置图片Uri为空或是错误的时候显示的图片
                .showImageOnFail(defaultPic)// 设置图片加载/解码过程中错误时候显示的图片
                .cacheInMemory(false)// 设置下载的图片是否缓存在内存中
                .cacheOnDisk(cacheOnDisk)// 设置下载的图片是否缓存在SD卡中
                .considerExifParams(true)//是否考虑JPEG图像EXIF参数（旋转，翻转）
                .displayer(isRound ? new CircleBitmapDisplayer() : new SimpleBitmapDisplayer())//FadeInBitmapDisplayer(200)listview加载闪烁问题
                .imageScaleType(ImageScaleType.IN_SAMPLE_POWER_OF_2)//图片将降低2倍，直到下一减少步骤，使图像更小的目标大小
                .bitmapConfig(Bitmap.Config.RGB_565)//图片色彩565
                .build();
        ImageLoader.getInstance().displayImage(url, iv, options);
    }
}
